<?php

if (!function_exists('random_token')) {

    /**
     * 随机token
     *
     * @param string $algo 要使用的哈希算法名称，例如："md5"，"sha256"，"haval160,4" 等。 如何获取受支持的算法清单
     * @param string $other
     *
     * @return string
     */
    function random_token($algo = 'sha256', $other = '')
    {
        $key = config('app.key');
        if (strpos($key, 'base64:') === 0) {
            $key = base64_decode(substr($key, 7));
        }

        return hash_hmac($algo, str_random(40) . $other, $key);
    }
}

if (!function_exists('access')) {
    /**
     * 访问控制
     *
     * @return \App\Foundation\Access\AccessUser
     */
    function access()
    {
        return app('access');
    }
}